1. Field of the Invention
The present invention relates generally to representing data in one or more tables, and in particular, to a method, apparatus, and article of manufacture for representing large table structures in a small self-contained data package.
2. Description of the Related Art
Part catalogs are well known in the art. A broad range of manufactured parts are required and frequently re-used by a variety of professions covering Design, Procurement, Construction, and Maintenance in industries such as architectural, electrical, and mechanical. Software applications utilizing product data include CAD and non-CAD solutions to assist professionals throughout a project development and maintenance life cycle. Product data is required across the range of applications and therefore it is important to easily transfer complete product definitions between applications. Products may often be designed with a wide range of sizes and features resulting in millions and in some cases billions of product variations for a single part. A data structure or table containing all of the parts may grow excessive in size and be cumbersome to manipulate, consuming considerable memory. Further, transporting such a large table is slow and inefficient.
For example, in the heating, ventilation, and air conditioning (HVAC) industry, it is a common practice to manufacture duct fittings that occur in a wide range of sizes. A simple rectangular transition tee fitting is often manufactured in a very wide range of sizes for each duct connection with variables such as material and thickness.
FIG. 1 illustrates an example of a rectangular duct tee that may use sizes from 2″ to 48″ for each of the duct connection size parameters. If increments are restricted to 2″, this modest example yields 24 values for RH1, 24 values for RW1, etc. In addition, a list of 5 materials and 10 gauge values (gauge=thickness of sheet metal) may be added for further part variation. If all combinations are allowed, the total number of part variations may be calculated as #RH1×#RW1×#RH2×#RW2×#RH3×#RW3×#Mats×#Gauges. Accordingly, the part count is 24×24×24×24×24×24×5×10, for a total of 9,555,148,800 part variations.
Storing such a large number of part variations consumes memory, is complex, and inefficient for storage and transfer. Accordingly, what is needed is a lightweight, self-contained, self-expanding data package.